package cn.stylefeng.guns.modular.tool.service;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.tool.entity.ToolExpressSumTask;
import cn.stylefeng.guns.modular.tool.model.params.ToolExpressExcelParam;
import cn.stylefeng.guns.modular.tool.model.params.ToolExpressSumTaskParam;
import cn.stylefeng.guns.modular.tool.model.result.ToolExpressSumTaskResult;
import cn.stylefeng.guns.sys.modular.system.entity.User;
import cn.stylefeng.roses.core.reqres.response.ResponseData;

import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 作业统计管理 服务类
 */
public interface ToolExpressSumTaskService extends IService<ToolExpressSumTask> {

    /**
     * 新增
     */
    void add(ToolExpressSumTaskParam param);

    /**
     * 删除
     */
    void delete(ToolExpressSumTaskParam param);

    /**
     * 更新
     */
    void update(ToolExpressSumTaskParam param);

    /**
     * 查询单条数据，Specification模式
     */
    ToolExpressSumTaskResult findBySpec(ToolExpressSumTaskParam param);

    /**
     * 查询列表，Specification模式
     */
    List<ToolExpressSumTaskResult> findListBySpec(ToolExpressSumTaskParam param);

    /**
     * 查询分页数据，Specification模式
     */
     LayuiPageInfo findPageBySpec(ToolExpressSumTaskParam param,String condition);
     LayuiPageInfo findPageBySpectj(ToolExpressSumTaskParam param,String condition,Long operateId);
     LayuiPageInfo findPageBySpectjnum(ToolExpressSumTaskParam param,String condition,Long operateId);
     LayuiPageInfo findPageBySpecd(ToolExpressSumTaskParam param,String condition);

     /**
      * 查询分页数据，Specification模式
      */
      LayuiPageInfo findPageSumBySpec(ToolExpressSumTaskParam param,String condition);

	void deleteByExpressSumId(ToolExpressSumTaskParam expressSumTaskParam);

	void deleteBySpec(ToolExpressSumTaskParam expressSumTaskParam);

	boolean saveBatchList(List<ToolExpressSumTaskParam> savelist);

	ResponseData updateStock(ToolExpressExcelParam toolExpressExcelParam,Long outStorehouseId, User user);

	ResponseData batchassign(ToolExpressSumTaskParam toolExpressSumTaskParam, User user);

}
